package core.util;

/**
 * Singleton para controlar o tempo restante da jogada
 * @author guilherme
 *
 */
public class Temporizador {

	private final long TEMPO_JOGADA = 5000;
	private final long TEMPO_CRITICO = 20;
	private long tempoInicial;
	private static final Temporizador instancia = new Temporizador();
	
	public static Temporizador getInstancia() {
		return instancia;
	}

	private Temporizador(){
		
	}
	
	public void iniciarContador(){
		setTempoInicial(System.currentTimeMillis());
	}
	
	public double getTempoRestante(){
		return TEMPO_JOGADA - (System.currentTimeMillis() - getTempoInicial());
	}
	
	public boolean isTempoCritico(){
		if(getTempoRestante() < TEMPO_CRITICO)
			return true;
		else
			return false;
	}
	

	public long getTempoInicial() {
		return tempoInicial;
	}

	public void setTempoInicial(long tempoInicial) {
		this.tempoInicial = tempoInicial;
	}
	
}
